perm filename IIIPOX.POX[1,3]1 blob sn#317020 filedate 1977-11-15 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	\|\\	Vector Graphics POX Macros
C00005 ENDMK
C⊗;
\|\\	Vector Graphics POX Macros
\⊂'200455;\⊂'010000;\⊂'1000002;\	it's good for you, don't ask me why !
\
\8EVAL(expr){⊗expr⊗}\						evaluate macro
\
\
\P\←=0;\→0\p\							clear reg 0
\
\
\∞Vneg[\¬=0;]\							Negate ac
\∞Vabs[\?Vneg;\!Vneg;]\					|ac| (hack !)
\
\∞Vkluj[\→Z\←x\-X\!Vabs;\/Z\+=2;\→Z]\				Kludge for ∂Y≠0
\
\8VI(x,y)[\							Invisible vector
\P\!EVAL[\←=⊗x⊗;];\→X\!EVAL[\←=⊗y⊗;];\→Y]\			Load args into XY
\
\8VV(x,y)[\							Visible vector
\P\!EVAL[\←=⊗x⊗;];\→x\!EVAL[\←=⊗y⊗;];\→y\←=1;\→Z\		Load xyZ regs
\←y\-Y\!Vabs;\?Vkluj;\						compute length
\oVector[VXYxyZ]\&VL←VL,00&Vector,00;\∂←Vector;\		draw vector
\←x\→X\←y\→Y\p]\						Move xy into XY
\
\8VD(x,y)[\							Dot
\P\!EVAL[\←=⊗x⊗;];\→X\-=2;\→x\					Load X, x←X-2
\!EVAL[\←=⊗y⊗;];\→Y\-=2;\→y\					Load Y, y←Y-2
\oVector[VxyXY=2;]\&VL←VL,00&Vector,00;\∂←Vector;\p]\		Draw 2 unit vector
\
\8VT(t)[\							Text
\P\oVtext[.⊗t⊗]\&VL←VL,00&Vtext,XY;\∂←Vtext;\p]\		splice in overlay
\
\∞VClear[\oVnull[V00000]\&VL←Vnull,00;\∂←Vnull;\		null vector overlay
\P\←0\→X\→Y\p]\						clear registers
\
\!VClear;\							Initially clear
\